Methods and apparatus to adjust vehicle suspension damping

ABSTRACT

Methods and apparatus to adjust vehicle suspension damping are disclosed herein. An example apparatus includes interface circuitry, machine readable instructions, and programmable circuitry to at least one of instantiate or execute the machine readable instructions to determine a terrain condition based on first wheel position data of a vehicle and second wheel position data of the vehicle, determine a damping command based on the terrain condition, and adjust a suspension of the vehicle based on the damping command.

RELATED APPLICATION

This patent arises from a continuation of U.S. patent application Ser.No. 17/203,434, filed on Mar. 16, 2021, which is a continuation of U.S.patent application Ser. No. 16/104,654, filed on Aug. 17, 2018 (now U.S.Pat. No. 10,974,562). U.S. patent application Ser. No. 17/203,434 andU.S. patent application Ser. No. 16/104,654 are incorporated herein byreferenced in their entireties.

FIELD OF THE DISCLOSURE

This disclosure relates generally to vehicle suspensions and, moreparticularly, to methods and apparatus to adjust vehicle suspensiondamping.

BACKGROUND

Compression damping in suspension systems aids the suspension inabsorbing bumps or road irregularities as a wheel of a vehicle movesupward (e.g., using a shock absorber). Higher compression dampingprovides higher resistance to upward movement of the wheel of thevehicle. When the vehicle is traveling on rough terrain (e.g., off-roadterrain, surfaces with large bumps or obstacles, etc.), higher levels ofcompression damping absorb the obstacles more effectively. On the otherhand, when the vehicle travels on smooth terrain (e.g., a road, a flatdriving surface, etc.), less compression damping is desired to provide asmooth ride for a driver of the vehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 represents an example environment 100 in which the apparatus andmethods disclosed herein may be implemented.

FIG. 2 is a block diagram of the example controller of FIG. 1 .

FIG. 3 is a flowchart representative of machine readable instructionsthat may be executed to implement the example controller of FIGS. 1and/or 2 to determine terrain conditions of a driving surface.

FIG. 4 is a flowchart representative of machine readable instructionsthat may be executed to implement the example controller of FIGS. 1and/or 2 to determine suspension adjustment parameters based on vehiclespeed and throttle position.

FIG. 5 is a flowchart representative of machine readable instructionsthat may be executed to implement the example controller of FIGS. 1and/or 2 to apply an adjustment to a suspension of a vehicle.

FIG. 6 is a block diagram of an example processing platform structuredto execute the instructions of FIGS. 3-5 to implement the examplecontroller of FIGS. 1 and/or 2 .

The figures are not to scale. Instead, the thickness of the layers orregions may be enlarged in the drawings. In general, the same referencenumbers will be used throughout the drawing(s) and accompanying writtendescription to refer to the same or like parts. As used in this patent,stating that any part (e.g., a layer, film, area, region, or plate) isin any way on (e.g., positioned on, located on, disposed on, or formedon, etc.) another part, indicates that the referenced part is either incontact with the other part, or that the referenced part is above theother part with one or more intermediate part(s) located therebetween.Stating that any part is in contact with another part means that thereis no intermediate part between the two parts.

DETAILED DESCRIPTION

Compression damping (e.g., jounce damping) assists a suspension inabsorbing large obstacles and impacts when driving a vehicle on roughterrain (e.g., off-road terrain). In some vehicles, suspensionsimplementing shock absorbers with high levels of compression damping toallow the vehicle to travel at higher speeds over such terrain. However,the high levels of compression damping in these shock absorbers areaccompanied by drawbacks when driving on other surfaces. For example,driving on a smooth surface with these high levels of compressiondamping makes for a rough and/or stiff ride, reducing driver comfort andhandling. The harsh driving conditions are exacerbated as the vehiclespeed increases. In some other examples, shock absorbers are manuallyadjusted to change (e.g., increase or decrease) the level of compressiondamping. However, these shock absorbers require substantial knowledge ofshock absorber tuning, and, further, the driver must stop the vehicle tomanually adjust each of the shock absorbers whenever a change incompression damping is desired. Therefore, it is desirable for thecompression damping associated with a shock absorber to be adjustablebased on driving conditions, such as terrain and vehicle speed. Further,it is desirable for compression damping adjustments to occur without aneed for the driver to manually make the adjustments.

The examples disclosed herein adjust suspension damping (e.g.,compression damping) based on numerous parameters, such as drivingconditions (e.g., vehicle speed, throttle position, etc.), vehiclecharacteristics, and trends in terrain conditions. The methods andapparatus disclosed herein adjust the amount of damping needed toprovide comfort to the driver of the vehicle, prevent vehicle damage,and provide control to the driver on rough terrain (e.g., off-roaddriving). The examples disclosed herein determine the terrain conditionsbased on wheel position of a wheel or wheels of the vehicle and adjustthe damping according to these terrain conditions and the speed of thevehicle. The examples disclosed herein adjust compression damping of thesuspension. Additionally or alternatively, the examples disclosed hereinfurther make adjustments to rebound damping of the suspension. Further,the examples disclosed herein advantageously use throttle position toadjust the level of damping, effectively anticipating the actions of thedriver (e.g., changes in throttle position indicate intent of the driverto increase or decrease vehicle speed). For example, given a change invehicle speed, terrain conditions, and/or throttle position, theexamples disclosed herein can make adjustments to the compressiondamping of the suspension, the rebound damping of the suspension, and/orboth the compression damping and the rebound damping. These adjustmentsto the damping of the suspension give the driver of the vehicleextensive control regardless of terrain and provide a smooth,comfortable ride on all types of driving surfaces.

FIG. 1 represents an example environment 100 in which the apparatus andmethods disclosed herein may be implemented. The example environment 100includes an example vehicle 102. The vehicle 102 of the illustratedexample is a truck. In some examples, the vehicle 102 is a car (e.g., asedan), motorcycle, and/or any other vehicle having a suspension system.The vehicle 102 may be a body-on-frame construction or unihodyconstruction.

The vehicle 102 of the illustrated example includes front wheels 104,106 supported by a front suspension and rear wheels 108, 110 supportedby a rear suspension. The front suspension associated with the frontwheels 104, 106 provides steerability to the front wheels 104, 106.Likewise, the rear suspension associated with the rear wheels 108, 110provides steerability to the rear wheels 108, 110. The example teachingsof this disclosure may be implemented with any type of suspension (e.g.,a steerable suspension, a non-steerable suspension) and/or any othertypes of vehicles. In examples disclosed herein, increasing currentinput to the suspension (e.g., to a damper, shock absorber, etc.)decreases the amount of compression damping. On the other hand, adecrease in input current leads to an increase in compression damping.However, examples disclosed herein can also be implemented inenvironments wherein compression damping increases when input currentincreases. For example, the changes to the current disclosed hereincould be reversed given a reverse in the effect of changes to the inputcurrent.

In the illustrated example, the vehicle 102 includes a controller 112.The controller 112 receives information from systems of the vehicle 102(e.g., a suspension system, powertrain, engine, etc.) and transmitscommands to the suspension system of the vehicle. For example, thecontroller 112 can transmit a command instructing the suspension systemto adjust (e.g., increase or decrease) compression damping of the frontand/or rear suspension.

The controller 112 of the illustrated example is communicatively coupledto a sensor or sensors 114 and a vehicle controller area network (CAN)bus 116. In some examples, the sensors 114 include a vehicle speedsensor (e.g., a speedometer) and wheel position sensors (e.g., rideheight sensors). In some examples, the sensors 114 include other sensorsthat obtain data associated with the vehicle 102. The wheel speed sensordetermines a speed of the vehicle 102 and outputs speed data to thecontroller 112 during operation, while the wheel position sensorsdetermine a wheel position (e.g., ride height) of one or more of thewheels 104-110. The vehicle CAN bus 116 obtains vehicle data and/orinformation from systems of the vehicle 102 (e.g., powertrain, engine,steering system, etc.). In the illustrated example, the controller 112receives throttle position data from the vehicle CAN bus 116 (e.g.,obtained from the powertrain). When the controller 112 receives datafrom the sensors 114 and the vehicle CAN bus 116, the controller 112uses the data to determine adjustments to the front and/or rearsuspensions of the vehicle 102.

FIG. 2 is a block diagram of the example controller 112 of FIG. 1 . Theexample controller 112 includes an example sensor interface 202, anexample data analyzer 204, an example high pass filter 206, an examplelow pass filter 208, an example parameter analyzer 210, and an exampleinstruction generator 212. In the illustrated example, the sensorinterface 202 is communicatively coupled to the sensors 114 and thevehicle controller area network (CAN) bus 116 of FIG. 1 . In operation,the sensor interface 202 receives data from the sensors 114, such asvehicle speed data, wheel position data (e.g., ride height for one ormore of the wheels 104-110 of FIG. 1 ), and/or other data associatedwith a vehicle (e.g., the vehicle 102 of FIG. 1 ). The sensor interface202 further receives data from the vehicle CAN bus 116. For example, thevehicle CAN bus 116 can obtain throttle position data from a powertrainof the vehicle 102 and transmit the throttle position data to the sensorinterface 202.

The sensor interface 202 is further communicatively coupled to the dataanalyzer 204. The sensor interface 202 provides the data received fromthe sensors 114 and/or the vehicle CAN bus 116 to the data analyzer 204.In the illustrated example, the data analyzer 204 receives at leastwheel position data, vehicle speed data, and/or throttle positioninformation. The data analyzer 204 determines terrain conditions of adriving surface (e.g., a road, off-road terrain, etc.) based on thewheel position information. In some examples, the wheel position is ameasure of how high a wheel is pushed upward into a wheel well. In someexamples, the sensor interface 202 receives wheel position data (e.g.,ride height) from the left front wheel (e.g., the left front wheel 104of FIG. 1 ) and the right front wheel (e.g., the right front wheel 106of FIG. 1 ). Additionally or alternatively, the sensor interface 202receives wheel position data from the left rear wheel (e.g., the leftrear wheel 108 of FIG. 1 ) and/or the right rear wheel (e.g., the rightrear wheel 110 of FIG. 1 ). That is, the sensor interface 202 of theillustrated example can receive wheel position data from the frontwheels 104, 106, the rear wheels 108, 110, or both the front and rearwheels 104-110. This wheel position data is analyzed by the dataanalyzer 204 of the illustrated example to determine the severity of theterrain (e.g., roughness) on which the vehicle 102 is driving.

In some examples, the data analyzer 204 inputs the wheel position datainto an example high pass filter 206 to filter out large scale movementsof the left front wheel 104 and the right front wheel 106. In someexamples, the large scale movements are movements that are not caused bythe driving surface on which the vehicle 102 is traveling but arelong-term changes in wheel position (e.g., caused by vehicle load,acceleration or deceleration of the vehicle 102, etc.). The high passfilter 206 thus outputs high frequency wheel position data indicative ofchanges in the driving surface. The high pass filter 206 used by thedata analyzer 204 is tunable. For example, the high pass filter 206 canbe modified based on vehicle characteristics (e.g., the vehicle type,model of vehicle, suspension type, etc.). Further, in some examples, thehigh pass filter 206 is tunable based on suspension changes that are afunction of vehicle responses, such as vehicle pitch, vehicle roll,and/or other characteristics associated with vehicle handling. In someexamples, the high pass filter 206 used by the data analyzer 204 is anexponential moving average high pass filter. That is, the high passfilter 206 filters data within only a subset of the wheel position dataso as to focus the analysis on particular data of interest.

The data analyzer 204 determines a magnitude of the changes in terrain(e.g., changes in wheel position) the vehicle 102 is driving on usingthe filtered wheel position data (e.g., filtered by the high pass filter206). In some examples, a power spectral density calculation isperformed that allows the data analyzer 204 to determine a trend in theseverity of the terrain based on the wheel position data. For example,the data analyzer 204 can determine the roughness of the terrain onwhich the vehicle 102 is driving. The power spectral density calculationused by the data analyzer 204 can thus be used to finetune adjustmentsto the front and/or rear suspensions of the vehicle 102. In someexamples, the data analyzer 204 uses the absolute value of the wheelposition data to determine the total magnitude of the changes in theterrain. For example, the data analyzer 204 uses the absolute value ofthe wheel position data to determine the magnitude of positive andnegative changes in wheel position (e.g., as measured from a restingposition). The magnitude of the changes in wheel position provides anaccurate indication of the roughness of the terrain.

The wheel position data is further processed by the data analyzer 204using an example low pass filter 208. The low pass filter 208 utilizedby the data analyzer 204 determines a rate at which compression dampingof a suspension (e.g., suspension of the front wheels 104, 106,suspension of rear wheels 108, 110) is to increase or decrease. Forexample, when the low pass filter 208 is a fast-response low passfilter, the stiffness (e.g., level of compression damping) of thesuspension changes quickly, while a slow response low pass filter rampsin stiffness at a much slower rate. The low pass filter 208 used by thedata analyzer 204 is tunable. For example, the low pass filter 208 canbe modified based on vehicle characteristics (e.g., vehicle type, modelof vehicle, suspension type, etc.). In some examples, the low passfilter 208 used by the data analyzer 204 is an exponential movingaverage low pass filter. That is, the low pass filter 208 filters datawithin only a subset of the wheel position data to focus the analysis onparticular data of interest. In some examples, the exponential movingaverage low pass filter calculates a moving average of the wheelposition data after the absolute value of the wheel position data hasbeen calculated. In some such examples, the output of the exponentialmoving average low pass filter is indicative of the severity of thedriving surface and/or changes in severity of the driving surface (e.g.,a rate at which the road surface becomes rougher or less rough).

In some examples, the data analyzer 204 separately analyzes wheelposition data of the front left wheel 104 and the right front wheel 106(e.g., using the high pass filter, power spectral density, absolutevalue, low pass filter, etc.). In some examples, the data analyzer 204determines a maximum wheel position (e.g., related to a maximumcompression of the suspension) between the wheel position of the leftfront wheel 104 and the wheel position of the right front wheel 106.Additionally or alternatively, the data analyzer 204 can determine amaximum wheel position between the wheel position of the left rear wheel108 and the right rear wheel 110 and/or between the wheel positions ofall of the vehicle wheels 104-110. The maximum wheel position isindicative of the condition of the driving surface (e.g., a level ofroughness, size of obstacles, etc.). In some examples, the maximum wheelposition indicates the roughest possible condition of the drivingsurface. For example, if the left front wheel 104 has a wheel positionthat is much larger than the wheel position of the right front wheel106, the data analyzer 204 will use the larger wheel position (e.g., thewheel position of the left front wheel 104) to determine that thedriving surface is rough (e.g., even when the right front wheel 106indicates the driving surface is relatively smooth). In some alternativeexamples, the data analyzer 204 uses the wheel position of all of thewheels 104-110 (e.g., instead of determining a maximum wheel positionvalue) to determine adjustments to the front and/or rear suspension.

The data analyzer 204 is further communicatively coupled to theparameter analyzer 210. The data analyzer 204 thus outputs the maximumwheel position (e.g., or other wheel position output) to the parameteranalyzer 210. The parameter analyzer 210 is additionally communicativelycoupled to the sensor interface 202. The parameter analyzer 210 of theillustrated example thus receives the processed wheel position data(e.g., the maximum wheel position), vehicle speed data, and/or throttleposition data. Using the data received from the sensor interface 202 andthe data analyzer 204, the parameter analyzer 210 determines severalparameters used to determine adjustments to be made to the front and/orrear suspensions of the vehicle 102.

The parameter analyzer 210 uses the vehicle speed to determine a frontsuspension base current command and/or a rear suspension base currentcommand. The base current commands are current inputs to the suspension(e.g., front and/or rear). In some examples, the base current commandsare indicative of a current input to the front and/or rear suspensionsat a given vehicle speed if the terrain were smooth (e.g., a road).Additionally or alternatively, other signals (e.g., voltage signals,digital signals, etc.) are used as based commands. Each of the basecurrent commands is determined using a current command table. Thecurrent command table uses characteristics of the suspension (e.g., thefront and/or rear suspensions), characteristics of the vehicle 102, andthe speed of the vehicle 102 to produce potential current inputs to thesuspensions that determine a level of compression damping for thesuspension. For example, a lower current input to a damper or shockabsorber included in the suspension increases compression damping (e.g.,stiffness). In some examples, the parameter analyzer 210 determines thebase current command from the current command table by extrapolating acurrent value based on the speed of the vehicle 102. In some examples,each of the front and rear suspensions has a current command table, anda base current command is determined individually for the front and rearsuspensions.

The parameter analyzer 210 determines a vehicle response parameter basedon the terrain conditions (e.g., determined by the data analyzer 204)and the vehicle speed data. In some examples, the vehicle responseparameter is determined by the parameter analyzer 210 using additionalinformation, such as front to rear suspension balance, vehicle speedsensitivity, and/or other characteristics of the vehicle 102. Forexample. the parameter analyzer 210 can compare the terrain conditionsto the front to rear suspension balance and/or the vehicle speedsensitivity to determine the response parameter.

In the illustrated example, the parameter analyzer 210 further uses thethrottle position data to determine a throttle response parameter. Forexample, the parameter analyzer 210 uses the throttle position obtainedby the sensor interface 202 and determines a corresponding throttleresponse parameter (e.g., based on accessing a look-up table, anequation, etc.). In some examples, the throttle response parameter isinfluenced by factors such as dead zones (e.g., a range of throttleposition values that produce no change to the accelerator of the vehicle102), throttle response rates (e.g., a rate at which a change inthrottle position produces a change to the vehicle 102), and/or otherthrottle characteristics. In some examples, the throttle characteristicsvary based on vehicle type, vehicle model, etc. The throttle position isused to modify the amount of compression damping for the suspensionbecause it anticipates driver intent. For example, when the driverdecides to increase speed of the vehicle 102, the driver will push downon an accelerator pedal, increasing throttle position. The speed of thevehicle 102 subsequently increases based on the increases in throttleposition. Thus, by increasing the compression damping of the suspensionbased on an increase in throttle position, the amount of compressiondamping increases prior to or simultaneously with the increase invehicle speed. In an alternative example, when the driver decreasesthrottle position, the amount of compression damping decreases inanticipation of the decrease in vehicle speed.

In some examples, the driver of the vehicle knows that the throttleposition causes modifications to the compression damping. In some suchexamples, the driver uses this known response to purposefully increasethe compression damping by pushing the accelerator pedal. For example,if the driver sees that the vehicle 102 is approaching rough terrain anddesires an increase in compression damping, the driver can push down onthe accelerator pedal, increasing throttle position and therebyincreasing the amount of compression damping.

When the parameter analyzer 210 determines the front and/or rearsuspension base current command, the vehicle response parameter, and thethrottle response parameter, the parameter analyzer 210 determines anadjustment to the front suspension and an adjustment to the rearsuspension. In some examples, the parameter analyzer 210 can determinean adjustment to one of the suspensions (e.g., the front or the rearsuspension). In some examples, the parameter analyzer 210 can determinean adjustment to be applied to both the front and the rear suspensions(e.g., the same current input is used for the front and rearsuspensions).

To determine the adjustments, the parameter analyzer 210 combines theparameters for each of the front and rear suspensions. For example, theparameter analyzer 210 combines the front suspension base currentcommand, the vehicle response parameter, and the throttle responseparameter for the front suspension and, for the rear suspension,combines the rear suspension base current command, the vehicle responseparameter, and the throttle response parameter. In some examples, theparameter analyzer 210 combines the parameters by multiplying theparameters. In some alternative examples, the parameters are combined byother processes (e.g., summation).

For the front suspension adjustment, the parameter analyzer 210 comparesthe combined parameters (e.g., the parameters associated with the frontsuspension) and the front suspension base current command. The parameteranalyzer 210 selects the minimum between these two values to be thecurrent input to the front suspension. The compression damping isincreased when the current input is decreased and, thus, the minimum ofthe two aforementioned values (e.g., the combined parameters and thefront suspension base current command) represents the larger amount ofcompression damping. The rear suspension adjustment is determined in asimilar manner. The parameter analyzer 210 determines the minimumbetween the combined parameters (e.g., the combined parametersassociated with the rear suspension) and the rear suspension basecurrent command. This current command is then used as a current input tothe dampers and/or shock absorbers associated with the rear suspension.

The minimum parameters determined by the parameter analyzer 210 for thefront and rear suspensions are then used by the instruction generator212 to provide instructions to the respective suspensions. For example,the instruction generator 212 transmits instructions to the front andrear suspensions regarding a modification to the current input to thedampers and/or shock absorbers of the respective suspensions. In someexamples, the current input to the dampers is decreased (e.g.,increasing the compression damping) based on the instructions providedby the instruction generator 212. In some alternative examples, thecurrent input to the dampers increases (e.g., decreasing the compressiondamping) based on the instructions. The controller 112 can continue toadjust the compression damping of either the front or rear suspensionwhile the vehicle 102 is in operation.

While an example manner of implementing the example controller 112 ofFIG. 1 is illustrated in FIG. 2 , one or more of the elements, processesand/or devices illustrated in FIG. 2 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.Further, the example sensor interface 202, the example data analyzer204, the example high pass filter 206, the example low pass filter 208,the example parameter analyzer 210, the example instruction generator212, and/or, more generally, the example controller 112 of FIG. 2 may beimplemented by hardware, software, firmware and/or any combination ofhardware, software and/or firmware. Thus, for example, any of theexample sensor interface 202, the example data analyzer 204, the examplehigh pass filter 206, the example low pass filter 208, the exampleparameter analyzer 210, the example instruction generator 212, and/or,more generally, the example controller 112 could be implemented by oneor more analog or digital circuit(s), logic circuits, programmableprocessor(s), programmable controller(s), graphics processing unit(s)(GPU(s)), digital signal processor(s) (DSP(s)), application specificintegrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s))and/or field programmable logic device(s) (FPLD(s)). When reading any ofthe apparatus or system claims of this patent to cover a purely softwareand/or firmware implementation, at least one of the example sensorinterface 202, the example data analyzer 204, the example high passfilter 206, the example low pass filter 208, the example parameteranalyzer 210, the example instruction generator 212, and/or the examplecontroller 112 is/are hereby expressly defined to include anon-transitory computer readable storage device or storage disk such asa memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-raydisk, etc. including the software and/or firmware. Further still, theexample controller 112 of FIG. 2 may include one or more elements,processes and/or devices in addition to, or instead of, thoseillustrated in FIG. 2 , and/or may include more than one of any or allof the illustrated elements, processes and devices. As used herein, thephrase “in communication,” including variations thereof, encompassesdirect communication and/or indirect communication through one or moreintermediary components, and does not require direct physical (e.g.,wired) communication and/or constant communication, but ratheradditionally includes selective communication at periodic intervals,scheduled intervals, aperiodic intervals, and/or one-time events.

Flowcharts representative of example hardware logic, machine readableinstructions, hardware implemented state machines, and/or anycombination thereof for implementing the controller 112 of FIGS. 1and/or 2 are shown in FIGS. 3-6 . The machine readable instructions maybe an executable program or portion of an executable program forexecution by a computer processor such as the processor 612 shown in theexample processor platform 600 discussed below in connection with FIG. 6. The program may be embodied in software stored on a non-transitorycomputer readable storage medium such as a CD-ROM, a floppy disk, a harddrive, a DVD, a Blu-ray disk, or a memory associated with the processor612, but the entire program and/or parts thereof could alternatively beexecuted by a device other than the processor 612 and/or embodied infirmware or dedicated hardware. Further, although the example programsare described with reference to the flowcharts illustrated in FIGS. 3-5, many other methods of implementing the example controller 112 mayalternatively be used. For example, the order of execution of the blocksmay be changed, and/or some of the blocks described may be changed,eliminated, or combined. Additionally or alternatively, any or all ofthe blocks may be implemented by one or more hardware circuits (e.g.,discrete and/or integrated analog and/or digital circuitry, an FPGA, anASIC, a comparator, an operational-amplifier (op-amp), a logic circuit,etc.) structured to perform the corresponding operation withoutexecuting software or firmware.

As mentioned above, the example processes of FIGS. 3-5 may beimplemented using executable instructions (e.g., computer and/or machinereadable instructions) stored on a non-transitory computer and/ormachine readable medium such as a hard disk drive, a flash memory, aread-only memory, a compact disk, a digital versatile disk, a cache, arandom-access memory and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media.

“Including” and “comprising” (and all forms and tenses thereof) are usedherein to be open ended terms. Thus, whenever a claim employs any formof “include” or “comprise” (e.g., comprises, includes, comprising,including, having, etc.) as a preamble or within a claim recitation ofany kind, it is to be understood that additional elements, terms, etc.may be present without falling outside the scope of the correspondingclaim or recitation. As used herein, when the phrase “at least” is usedas the transition term in, for example, a preamble of a claim, it isopen-ended in the same manner as the term “comprising” and “including”are open ended. The term “and/or” when used, for example, in a form suchas A, B, and/or C refers to any combination or subset of A, B, C such as(1) A alone, (2) B alone, (3) C alone, (4) A with B, (5) A with C, (6) Bwith C, and (7) A with B and with C.

FIG. 3 is a flowchart representative of machine readable instructionsthat may be executed to implement the example controller of FIGS. 1and/or 2 to determine terrain conditions of a driving surface. Theexample program 300 begins at block 302 where the example controller 112obtains a left front wheel position and right front wheel position data.For example, a wheel sensor can determine a ride height for each of thefront wheels (e.g., the left and right front wheels 104, 106 of FIG. 1 )of a vehicle (e.g., the vehicle 102 of FIG. 1 ) and transmit the data tothe example sensor interface 202 of FIG. 2 . In some examples, thesensor interface 202 receives a constant flow of wheel position data forthe left front and/or right front wheels. Additionally or alternatively,the controller 112 can receive rear wheel (e.g., the left and/or rightrear wheels 108, 110 of FIG. 1 ) position data. In some examples, thecontroller 112 executes the instructions of FIGS. 3-5 utilizing frontwheel position data, rear wheel position data, and/or both front andrear wheel position data.

At block 304, the controller 112 filters the wheel position data with ahigh pass filter. For example, the wheel position data from the leftfront and right front wheels can be filtered by a high pass filter(e.g., the high pass filter 206 of FIG. 2 ) to identify and remove largescale movements of the left front wheel 104 and/or the right front wheel106 (e.g., movements that are not excited by the terrain itself). Insome examples, the large scale movements are long-term changes in wheelposition data (e.g., caused by vehicle load, acceleration ordeceleration of the vehicle 102, etc.). The high pass filter 206 outputshigh frequency wheel position data indicative of changes caused by thedriving surface of the vehicle 102. In some examples, the high passfilter 206 is tunable based on characteristics of a vehicle (e.g., thevehicle 102 of FIG. 1 ), such that each vehicle 102 filters out specificwheel position data to optimize performance of the program 300. In somesuch examples, the high pass filter 206 is tunable based on suspensionchanges that are a function of vehicle responses such as vehicle pitch,vehicle roll, and/or other characteristics associated with vehiclehandling. In some examples, the high pass filter 206 is an exponentialmoving average high pass filter. An exponential moving average high passfilter is utilized in some examples because it allows the high passfilter to focus on a subset of the wheel position data (e.g., instead ofthe entire set of the wheel position data). In some examples, the leftfront wheel position data and the right front wheel position data arefiltered independently of one another.

The controller 112 further calculates an absolute value of the wheelposition data (block 306). For example, the data analyzer 204 takes anabsolute value of the wheel position data output by the high pass filter206 to determine a total change in wheel position. In such examples,taking the absolute value of a negative wheel positions (e.g., when awheel moves below a resting position) allows the average wheel position(e.g., calculated by the low pass filter 208 of FIG. 2 ) to be accurate(e.g., by preventing positive and negative changes in wheel position tonullify one another).

At block 308, the controller 112 filters the wheel position data with alow pass filter (e.g., the low pass filter 208 of FIG. 2 ). For example,the data output at block 306 can serve as an input into an exponentialmoving average low pass filter operated by the data analyzer 204. Anexponential moving average low pass filter is utilized in some examplesbecause it allows the low pass filter 208 to focus on a subset of thewheel position data (e.g., instead of the entire set of the wheelposition data). For example, the exponential moving average low passfilter calculates a moving average of the wheel position data after theabsolute value has been calculated (e.g., at block 306). In someexamples, the low pass filter 208 used at block 308 determines howquickly the vehicle 102 ramps in and ramps out (e.g., adds or subtracts)compression damping (e.g. stiffness). For example, a fast-response lowpass filter will quickly adjust stiffness of the suspension, while aslow-response low pass filter will adjust the stiffness more gradually.In some examples, the left front wheel position data and the right frontwheel position data are filtered independently by the exponential movingaverage low pass filter.

The controller 112 then determines a severity of a driving surface basedon the wheel position data (block 310). For example, the output from thelow pass filter 208 is indicative of a severity of input into thevehicle 102 (e.g., severity of the roughness of the road surface) overtime to determine a trend in the wheel position data. For example, theoutput from the low pass filter 208 indicates a rate at which a roadsurface becomes rougher and/or a rate at which the roughness of the roadsurface decreases. Such trends in the data can be useful, for example,in determining the severity of current and future terrain.

The controller 112 further determines a maximum between the left frontwheel position and the right front wheel position (block 312). Forexample, the data analyzer 204 determines whether the right front wheelposition value or the left front wheel position value is larger once thewheel position data has been filtered by the low pass filter 208 (e.g.,at block 308). The maximum position is indicative of the roughestpossible terrain conditions that could be present. For example, if theright front wheel 106 is on a smooth driving surface (e.g., a road) andthe left front wheel 104 is on a rough surface (e.g., a shoulder of aroad), the controller 112 will accommodate for the roughest possibledriving surface (e.g., the shoulder of the road).

At block 314, the controller 112 determines terrain conditions based onthe maximum wheel position. For example, a large maximum wheel position(e.g., of the right or left front wheel 104, 106) indicate largeobstacles and/or rougher road surface, while smaller maximum wheelpositions indicate relatively smooth driving surfaces. When the terrainconditions have been determined, the program 300 provides input intoblock 408 of program 400 of FIG. 4 (e.g., denoted by the “A” in FIG. 4 )and concludes.

FIG. 4 is a flowchart representative of machine readable instructionsthat may be executed to implement the example controller of FIGS. 1and/or 2 to determine suspension adjustment parameters based on vehiclespeed and throttle position. The example program 400 begins at block 402where the controller 112 obtains vehicle speed. For example, the sensorinterface 202 of FIG. 2 can receive vehicle speed data from aspeedometer of the vehicle 102 of FIG. 1 .

At block 404, the controller 112 determines a front suspension basecurrent command. For example, the parameter analyzer 210 can receive thevehicle speed (e.g., from block 402) and access a current command tablethat includes corresponding front suspension base current commandsassociated with the front suspension. In some examples, the commandtable includes base current commands based on characteristics of thevehicle 102 (e.g., vehicle make and model) and the current speed of thevehicle 102. In some examples, the front suspension base current commandis further dependent on characteristics of the front suspension (e.g.,suspension type, spring rate, etc.).

At block 406, the controller 112 determines a rear suspension basecurrent command. For example, the parameter analyzer 210 can receive thevehicle speed (e.g., from block 402) and access a current command tablethat includes corresponding rear suspension base current commandsassociated with the rear suspension. In some examples, the command tableincludes base current commands based on vehicle characteristics (e.g.,make and model of the vehicle 102) and the current speed of the vehicle102 (e.g., obtained in block 402). In some examples, the rear suspensionbase current command is further dependent on characteristics of the rearsuspension (e.g., suspension type, spring rate, etc.). In some examples,the front and rear suspension base current commands are determined forthe front and rear suspensions simultaneously. Alternatively, the frontand rear suspension base current commands are determined for the frontand rear suspensions consecutively, independently, and/or in any otherorder.

The controller 112 then determines a vehicle response parameter (block408). For example, the vehicle speed data from block 402 and the terrainconditions determined at block 312 of FIG. 3 can be used to determinethe value of the vehicle response parameter. In some examples, thevehicle response parameter is further based on vehicle characteristicsof the vehicle 102. In some such examples, the vehicle characteristicsinclude front to rear suspension balance, vehicle speed sensitivity,and/or other parameters specific to the vehicle 102 and/or the currentoperation of the vehicle 102. The vehicle response parameter isindicative of how much the compression damping should be adjusted basedon the terrain conditions of the driving surface. In some examples, thecontroller 112 executes blocks 404, 406, and/or 408 in any order. Forexample, the controller 112 can execute block 404 before or afterexecution of block 406 and/or block 408, or can execute blocks 404, 406,and 408 simultaneously.

At block 410, the controller 112 obtains throttle position. For example,the vehicle CAN bus 116 of FIGS. 1 and/or 2 can transmit throttleposition data (e.g., collected by the powertrain) to the sensorinterface 202 of FIG. 2 .

At block 412, the controller 112 determines a throttle responseparameter. For example, the parameter analyzer 210 uses the throttleposition obtained at block 410 and determines a corresponding throttleresponse parameter (e.g., based on accessing a look-up table). In someexamples, the throttle response parameter is based on throttlecharacteristics such as throttle dead zones, throttle response rates,and/or other throttle characteristics. When the throttle responseparameter has been determined, the program 400 concludes, and the outputof program 400 (e.g., the vehicle response parameter and/or the throttleresponse parameter) is used in program 500, as discussed in furtherdetail in connection with FIG. 5 .

FIG. 5 is a flowchart representative of machine readable instructionsthat may be executed to implement the example controller of FIGS. 1and/or 2 to apply an adjustment to a suspension of a vehicle. Theexample program 500 begins at block 502 where the controller 112combines the front suspension base current command, the vehicle responseparameter, and the throttle response parameter. For example, theparameter analyzer 210 can calculate a product of the front suspensionbase current command, the vehicle response parameter, and/or thethrottle response parameter. In some alternative examples, thecontroller 112 sums the front suspension base current command, thevehicle response parameter, and/or the throttle response parameter.

The controller 112 further determines a minimum of the combinedparameters and the front suspension base current command (block 504).For example, the parameter analyzer 210 selects the minimum currentcommand value (e.g., the minimum of the current command produced by thecombined parameters and the front suspension base current command) thatprovides the highest compression damping to the front suspension (e.g.,the lower the current command, the higher the compression damping of thefront suspension).

At block 506, the controller 112 combines the rear suspension basecurrent command, the vehicle response parameter, and the throttleresponse parameter. For example, the parameter analyzer 210 cancalculate a product of the rear suspension base current command, thevehicle response parameter, and/or the throttle response parameter. Insome alternative examples, the parameter analyzer 210 sums the vehicleresponse parameter, the rear suspension speed-based parameter, and/orthe throttle response parameter.

The controller 112 further determines a minimum of the combinedparameters and the rear suspension base current command (block 508). Forexample, the parameter analyzer 210 selects the minimum current commandvalue (e.g., the minimum of the current command produced by the combinedparameters and the rear suspension base current command) that willprovide the highest compression damping to the rear suspension (e.g.,the lower the current command, the higher the compression damping of therear suspension).

At block 510, the controller 112 determines a damping adjustment tofront and/or rear suspensions. For example, the instruction generator212 of FIG. 2 can determine the damping adjustments based on the currentcommands determined in blocks 504 and 508. In some examples, theinstruction generator 212 determines that an amount of compressiondamping at the front and/or rear suspension should be increased ordecreased based on the minimum between the combined parameters and thebase current command for the respective front and/or rear suspensions.

The controller 112 further applies the adjustments to the suspensions(block 512). For example, the compression damping adjustments determinedin block 510 are applied to the respective suspensions (e.g., the frontand/or rear suspensions) via the current command. The current input tothe dampers and/or shock absorbers of the front and/or rear suspensionsare adjusted, increasing or decreasing the stiffness and correspondingcompression damping.

At block 514, the controller 112 determines whether to continuedetermining adjustments to the suspensions. When the controller 112determines that the controller 112 is to continue determiningadjustments to the suspensions, the controller 112 returns to block 302of program 300, where left front and right front wheel position data isobtained. When the controller 112 determines that no more adjustmentsare to be made to the suspensions, control of program 500 concludes.

FIG. 6 is a block diagram of an example processor platform 600structured to execute the instructions of FIGS. 3-5 to implement thecontroller 112 of FIGS. 1 and/or 2 . The processor platform 600 can be,for example, a server, a personal computer, a workstation, aself-learning machine (e.g., a neural network), a mobile device (e.g., acell phone, a smart phone, a tablet such as an iPad™), a personaldigital assistant (PDA), an Internet appliance, or any other type ofcomputing device.

The processor platform 600 of the illustrated example includes aprocessor 612. The processor 612 of the illustrated example is hardware.For example, the processor 612 can be implemented by one or moreintegrated circuits, logic circuits, microprocessors, GPUs, DSPs, orcontrollers from any desired family or manufacturer. The hardwareprocessor may be a semiconductor based (e.g., silicon based) device. Inthis example, the processor implements the example data analyzer 204,the example high pass filter 206, the example low pass filter 208, theexample parameter analyzer 210, and the example instruction generator212.

The processor 612 of the illustrated example includes a local memory 613(e.g., a cache). The processor 612 of the illustrated example is incommunication with a main memory including a volatile memory 614 and anon-volatile memory 616 via a bus 618. The volatile memory 614 may beimplemented by Synchronous Dynamic Random Access Memory (SDRAM), DynamicRandom Access Memory (DRAM), RAMBUS® Dynamic Random Access Memory(RDRAM®) and/or any other type of random access memory device. Thenon-volatile memory 616 may be implemented by flash memory and/or anyother desired type of memory device. Access to the main memory 614, 616is controlled by a memory controller.

The processor platform 600 of the illustrated example also includes aninterface circuit 620. In this example, the interface circuit 620implements the sensor interface 202 of FIG. 2 . The interface circuit620 may be implemented by any type of interface standard, such as anEthernet interface, a universal serial bus (USB), a Bluetooth®interface, a near field communication (NFC) interface, and/or a PCIexpress interface.

In the illustrated example, one or more input devices 622 are connectedto the interface circuit 620. The input device(s) 622 permit(s) a userto enter data and/or commands into the processor 612. The inputdevice(s) can be implemented by, for example, an audio sensor, amicrophone, a camera (still or video), a keyboard, a button, a mouse, atouchscreen, a track-pad, a trackball, isopoint and/or a voicerecognition system.

One or more output devices 624 are also connected to the interfacecircuit 620 of the illustrated example. The output devices 624 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay (LCD), a cathode ray tube display (CRT), an in-place switching(IPS) display, a touchscreen, etc.), a tactile output device, a printerand/or speaker. The interface circuit 620 of the illustrated example,thus, typically includes a graphics driver card, a graphics driver chipand/or a graphics driver processor.

The interface circuit 620 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem, a residential gateway, a wireless access point, and/or a networkinterface to facilitate exchange of data with external machines (e.g.,computing devices of any kind) via a network 626. The communication canbe via, for example, an Ethernet connection, a digital subscriber line(DSL) connection, a telephone line connection, a coaxial cable system, asatellite system, a line-of-site wireless system, a cellular telephonesystem, etc.

The processor platform 600 of the illustrated example also includes oneor more mass storage devices 628 for storing software and/or data.Examples of such mass storage devices 628 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, redundantarray of independent disks (RAID) systems, and digital versatile disk(DVD) drives.

The machine executable instructions 632 of FIGS. 3-5 may be stored inthe mass storage device 628, in the volatile memory 614, in thenon-volatile memory 616, and/or on a removable non-transitory computerreadable storage medium such as a CD or DVD.

From the foregoing, it will be appreciated that example methods andapparatus have been disclosed that adjust vehicle suspension damping(e.g., compression damping). The examples disclosed herein determine theterrain conditions based on wheel position of a wheel or wheels of thevehicle. In some examples, adjustments are made to the suspensions basedon the terrain conditions and the speed of the vehicle. Further, theexamples disclosed herein advantageously use throttle position to adjustthe level of damping, effectively anticipating the actions of the driver(e.g., changes in throttle position indicate intent of the driver toincrease or decrease vehicle speed). These adjustments to the damping ofthe suspension increase driver control of the vehicle and improve drivercomfort on rough terrain. The examples disclosed herein additionallymaintain comfort and control on smooth terrain, regardless of vehiclespeed.

The adjustments made to the suspension damping (e.g., compressiondamping) based on throttle position can be used advantageously by adriver. For example, if the driver desires to increase compressiondamping (e.g., when approaching rough terrain), the driver can increasethe throttle position. Because the driver knows the effect of pushingthe throttle (e.g., increasing compression damping), the driver canintentionally increase the compression damping to protect the vehicle(e.g., by driving over large obstacles or experiencing high impacts withthe correct level of compression damping).

Example 1 includes an apparatus comprising a sensor interface to obtainwheel position information and vehicle speed information from sensorsassociated with wheels of a vehicle obtain throttle positioninformation, a parameter analyzer to determine a compression dampingcommand based on the wheel position information, the vehicle speedinformation and the throttle position information, and an instructiongenerator to adjust a damping system of the vehicle based on thecompression damping command.

Example 2 includes the apparatus of example 1, wherein the parameteranalyzer is further to determine a vehicle response parameter based onvehicle characteristics and the vehicle speed information.

Example 3 includes the apparatus of example 2, wherein the vehiclecharacteristics include at least front and rear vehicle balance orvehicle speed sensitivity.

Example 4 includes the apparatus of example 2, wherein the parameteranalyzer is further to determine a throttle response parameter based onthe throttle position information and throttle characteristics.

Example 5 includes the apparatus of example 4, wherein the throttlecharacteristics include at least a dead zone determination or a throttleresponse rate.

Example 6 includes the apparatus of example 4, wherein the parameteranalyzer is further to determine a base current command based on thevehicle speed information and a suspension command table.

Example 7 includes the apparatus of example 6, wherein the parameteranalyzer is further to determine the compression damping command basedon the throttle response parameter, the vehicle response parameter, andthe base current command.

Example 8 includes a tangible computer readable storage mediumcomprising instructions that, when executed, cause a machine to at leastobtain wheel position information and vehicle speed information fromsensors associated with wheels of a vehicle and obtain throttle positioninformation, determine a compression damping command based on the wheelposition information, the vehicle speed information and the throttleposition information, and adjust a damping system of the vehicle basedon the compression damping command.

Example 9 includes the tangible computer readable storage medium ofexample 8, wherein the instructions, when executed, further cause themachine to determine a vehicle response parameter based on vehiclecharacteristics and the vehicle speed information.

Example 10 includes the tangible computer readable storage medium ofexample

Example 11 includes the tangible computer readable storage medium ofexample 9, wherein the instructions, when executed, further cause themachine to determine a vehicle response parameter based on vehiclecharacteristics and the vehicle speed information.

Example 12 includes the tangible computer readable storage medium ofexample 11, wherein the throttle characteristics include at least a deadzone determination or a throttle response rate.

Example 13 includes the tangible computer readable storage medium ofexample 11, wherein the instructions, when executed, further cause themachine to determine a base current command based on the vehicle speedinformation and a suspension command table.

Example 14 includes the tangible computer readable storage medium ofexample 13, wherein the instructions, when executed, further cause themachine to determine the compression damping command based on thethrottle response parameter, the vehicle response parameter, and thebase current command.

Example 15 includes a method comprising obtaining wheel positioninformation and vehicle speed information from sensors associated withwheels of a vehicle, obtaining throttle position information,determining a compression damping command based on the wheel positioninformation, the vehicle speed information and the throttle positioninformation, and adjusting a damping system of the vehicle based on thecompression damping command.

Example 16 includes the method of example 15, further includingdetermining a vehicle response parameter based on vehiclecharacteristics and the vehicle speed information.

Example 17 includes the method of example 16, further includingdetermining a vehicle response parameter based on vehiclecharacteristics and the vehicle speed information.

Example 18 includes the method of example 16, wherein the vehiclecharacteristics include at least front and rear vehicle balance orvehicle speed sensitivity.

Example 19 includes the method of example 18, further includingdetermining a throttle response parameter based on the throttle positioninformation and throttle characteristics.

Example 20 includes the method of example 19, further includingdetermining the compression damping command based on the throttleresponse parameter, the vehicle response parameter, and the base currentcommand.

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

What is claimed is:
 1. An apparatus comprising: interface circuitry;machine readable instructions; and programmable circuitry to at leastone of instantiate or execute the machine readable instructions to:determine a terrain condition based on first wheel position data of avehicle and second wheel position data of the vehicle; determine adamping command based on the terrain condition; and adjust a suspensionof the vehicle based on the damping command.
 2. The apparatus of claim1, wherein the programmable circuitry is to further determine thedamping command based on at least one of a speed of the vehicle, a speedsensitivity of the vehicle, or a balance of the vehicle.
 3. Theapparatus of claim 1, wherein the damping command is a rebound dampingcommand.
 4. The apparatus of claim 1, wherein the programmable circuitryis further to determine the damping command based on a dead zone of athrottle of the vehicle.
 5. The apparatus of claim 1, wherein theterrain condition includes a roughness of a road surface of the vehicle.6. The apparatus of claim 1, wherein the programmable circuitry is todetermine the terrain condition by: generating filtered wheel positiondata by filtering the first wheel position data and the second wheelposition data via a high pass filter; and calculating a power spectraldensity of the filtered wheel position data.
 7. The apparatus of claim6, wherein the programmable circuitry is further to tune the high-passfilter based on at least one of a vehicle pitch and/or a vehicle roll.8. A non-transitory machine readable storage medium comprisinginstructions to cause programmable circuitry to at least: determine aterrain condition based on first wheel position data of a vehicle andsecond wheel position data of the vehicle; determine a damping commandbased on the terrain condition; and adjust a suspension of the vehiclebased on the damping command.
 9. The non-transitory machine readablestorage medium of claim 8, wherein the programmable circuitry is tofurther determine the damping command based on at least one of a speedof the vehicle, a speed sensitivity of the vehicle, or a balance of thevehicle.
 10. The non-transitory machine readable storage medium of claim8, wherein the damping command is a rebound damping command.
 11. Thenon-transitory machine readable storage medium of claim 8, wherein theprogrammable circuitry is further to determine the damping command basedon a dead zone of a throttle of the vehicle.
 12. The non-transitorymachine readable storage medium of claim 8, wherein the terraincondition includes a roughness of a road surface of the vehicle.
 13. Thenon-transitory machine readable storage medium of claim 8, wherein theprogrammable circuitry is to determine the terrain condition by:generate filtered wheel position data by filtering the first wheelposition data and the second wheel position data via high pass filter;and calculate a power spectral density of the filtered wheel positiondata.
 14. The non-transitory machine readable storage medium of claim13, wherein the programmable circuitry is further to tune the high-passfilter on at least one of a vehicle pitch and/or a vehicle roll.
 15. Amethod comprising: determining a terrain condition based on first wheelposition data of a vehicle and second wheel position data of thevehicle; determining a damping command based on the terrain condition;and adjusting a suspension of the vehicle based on the damping command.16. The method of claim 15, wherein the damping command is based on atleast one of a speed sensitivity of the vehicle or a balance of thevehicle.
 17. The method of claim 15, wherein the damping command is arebound damping command.
 18. The method of claim 15, further includingdetermining the damping command based on a dead zone of a throttle ofthe vehicle.
 19. The method of claim 15, further including: determine abase command via a command table and a speed of the vehicle; anddetermine the damping command further based on the base command.
 20. Themethod of claim 19, wherein the command table is associated with atleast one of a make of the vehicle or a model of the vehicle.